1. Field of the Invention
The present invention relates to a data receiving device that receives from a network frame data based on any arbitrary protocol of a plurality of protocol hierarchies defined from a physical layer to upper layers, and more particularly to a data receiving device which is capable of simply and efficiently enabling simultaneous execution of processes and partial processes of a plurality of the protocol hierarchies determining the protocol of the received frame data and which can easily and comprehensively configure is apparatuses carrying out these processes using hardware.
2. Prior Art
A telephone network constructed to achieve interactive communication using voice, such as a telephone net, for example, a telephone type public to communication line and others or a specific communication line has a limitation in transfer quality or transfer rate when used in data communication. Construction of a digital data public network that is more suitable for characteristics inherent to data communication, e.g., data traffic characteristics has been advanced in all the countries of the world including Japan. This digital data public network uses transmission paths and exchanges for digital signals and, in Japan, services on line switching networks or packet switching networks are provided. In addition, in regard of international connection, international standardization has been enhanced by CCITT (International Telegraph and Telephone Consultative Committee) and currently prepared as recommendations (X-series recommendations) relative to new data networks such as a line switching system, a packet switching system, digital private lines and others.
Meanwhile, networks referred to as LANs (Local Area Networks) have been widely used for the purpose of sharing information (data) in, e.g., data bases or peripheral devices. Such a LAN connects digital devices such as computers, communication terminal devices and others dispersed and provided in a predetermined local area such as an office, a factory or a laboratory or in a limited space such as a campus, and has a kind of exchanging function. In such a LAN, standardization of protocols and others has been carried out by IEEE (Institute of Electrical Electronics Engineers) 802 committee or ISO (International Standardization Organization).
An OSI (Open Systems Interconnection) reference model adopted in the digital data public network or a protocol for the above-mentioned LAN standardized by IEEE are defined by a plurality of protocol hierarchies each of which is determined from the physical layer to upper layers. Also, protocols widely used in WANs (Wide Area Networks) or any other LANs are usually defined in accordance with a plurality of protocol hierarchies. In this way, almost all the network protocols are defined according to a plurality of protocol hierarchies.
In addition, connection between a plurality of networks, e.g., LANs, WANs or digital data public networks has been conventionally achieved. For example, such internetwork connection has been attained even between networks having some of multiple protocol hierarchies defining the protocol for transmitting messages different from each other.
Here, an internetwork repeater by which two networks having the same MAC (Media Access Control) layer in the second layer of OSI are connected in the second layer is called a bridge or the like. An internetwork repeater for connecting a plurality of networks having different first through seventh layers of OSI is called a gateway or the like. Further, an internetwork repeater for connecting a plurality of networks having different first to third layers of OSI, are connected in the third layer such as one described later in this specification is called a router or the like.
Note that the data receiving device that is an object of the present invention is not restricted to a router such as an IP (Internet Protocol) router and others, but is applicable to the internetwork repeater such as the above-mentioned bridge or gateway. In addition, the data receiving device according to the present invention is not limited to such an internetwork repeater, and it may be a device for receiving any frame data from networks. The network connected by the data receiving device to which the present invention is applied is not likewise limited to the above-described specific LAN, but it may be various kinds of LAN or WAN or digital data public network.
Here, in the data receiving device including the internetwork repeater such as the aforesaid bridge, gateway or router, the frame data input from the network is subjected to the following processes.
Process A1 for Identifying Protocols:
This process identifies types of parameters indicating a protocol type in a header defined by each protocol hierarchy in the order from the lower protocol hierarchy, i.e., the physical layer.
Process A2 for Analyzing Header
In accordance with a result of identification of the protocol, this process finds parameters concerning protocol information contained in the header and determines a process to be carried out with respect to the received frame. In particular, parameters such as a frame length, a header length, communication quality, a source address or a destination address, specification of a transmission path for the frame data (the transmission path is specified only in the internetwork repeater) are found and appropriate processes to be performed with respect to the received frame data are determined based on the found parameters.
Process A3 for Verifying Header Frame:
The process for controlling errors relating to the protocol information included in the header is executed. For example, a checksum included in the header is used to verify validity of the header or the frame data.
Note that the following processes are performed in addition to the above processes A1 to A3 when the data receiving device is the internetwork repeater.
Process A4 for Determining Destination:
Based on the protocol information included in the header, a destination to which the received frame data is transmitted is determined and that frame data is actually transmitted. In particular, a destination to which the received frame data is sent is determined based on a source address or a destination address, or information (data) specifying the transmission path for transmitting the frame data included in the header, and that frame data is actually transmitted.
The above processes are carried out in accordance with each protocol hierarchy of the received frame data and definition of each protocol hierarchy. Therefore, processes to be performed differ depending on each protocol and each protocol hierarchy constituting the protocol. Some protocol hierarchies may have a header containing an optional field whose existence or length is indefinite and, in such a case, processes for the header may differ depending on each protocol hierarchy because the header length is not fixed even in the same protocol hierarchy. Thus, in the prior art, processes for the frame data received by the data receiving device have been generally carried out using flexible software.
However, the operation for advancing such processes executed in the data receiving device starting from the lower protocol hierarchy, i.e., the physical layer while confirming the protocol information (parameters) in each header has a large throughput and requires large CPU (Central Processing Unit) power, bottlenecking the processes in the data receiving device. Since the property of real time is basically required for the processes executed in the data receiving device, such problems are becoming serious as the processing speed in a target network is increased. For example, in case of the internetwork repeater determining a recent network having a high processing speed as a target in particular, if the process for linking one network to another network is delayed, the communication speed inherent to the network itself is decreased and the high processing speed can not be fully used, resulting in the drawback which must be urgently solved.
In order to shorten the processing time in the data receiving device, use of a further high performance CPU can be considered. However, there is a limit in shortening the processing time even if the high performance CPU is used. Further, processes in the conventional data receiving device are hard to be realized by hardware or hard to be executed by parallel processing using a plurality of CPUs.